package org.jsola.hr.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;

import static org.jsola.core.example.BaseExample.E_ID;
import static org.jsola.core.example.BaseExample.N_ID;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_BLACK_WHITE_PHOTO;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_DEGREE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_DIPLOMA;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_DRIVING_LICENSE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_ENGLISH_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_HOUSEHOLD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_ID_CARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_MAJOR;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_NCRE_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_NO_CRIMINAL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_PRACTISING;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_PTH_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ANNEX_REWARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_BANK_CARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_BANK_NAME;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_BANK_PLACE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_BIRTHDAY;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_BIRTHPLACE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_BIRTH_STATUS;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_COMPANY_ID;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_CURRENT_LOCATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_EMAIL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_EMER_CONTACT;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_EMER_LOCATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_EMER_PHONE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_EMP_PHOTO;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ENGLISH_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_GENDER;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_HAS_WEIGHTY_MEDICAL_HIS;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_HEALTH_CONDITION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_HIGHEST_EDUCATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_ID_CARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_JOB_TITLE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_JOIN_WORK_DATE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_MARITAL_STATUS;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_NAME;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_NATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_NATIVE_LOCATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_NCRE_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_NUMBER;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_PARTY_DATE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_PARTY_SITE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_PHONE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_POLITICAL_STATUS;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_PRIZE_WINNING;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_PUTONGHUA_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_REG_TYPE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_SOC_CARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_SOC_TYPE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_SPECIALITY;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_TAB_CARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_TAB_CERTIFICATE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_TAB_CONTACTS;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_TAB_EDUCATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_TAB_TRAIN;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_TAB_WORK;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_TARGET_POST;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_TYPE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.E_WORKING_UNIT_NAME;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_BLACK_WHITE_PHOTO;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_DEGREE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_DIPLOMA;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_DRIVING_LICENSE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_ENGLISH_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_HOUSEHOLD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_ID_CARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_MAJOR;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_NCRE_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_NO_CRIMINAL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_PRACTISING;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_PTH_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ANNEX_REWARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_BANK_CARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_BANK_NAME;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_BANK_PLACE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_BIRTHDAY;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_BIRTHPLACE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_BIRTH_STATUS;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_COMPANY_ID;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_CURRENT_LOCATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_EMAIL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_EMER_CONTACT;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_EMER_LOCATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_EMER_PHONE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_EMP_PHOTO;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ENGLISH_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_GENDER;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_HAS_WEIGHTY_MEDICAL_HIS;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_HEALTH_CONDITION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_HIGHEST_EDUCATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_ID_CARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_JOB_TITLE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_JOIN_WORK_DATE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_MARITAL_STATUS;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_NAME;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_NATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_NATIVE_LOCATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_NCRE_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_NUMBER;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_PARTY_DATE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_PARTY_SITE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_PHONE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_POLITICAL_STATUS;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_PRIZE_WINNING;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_PUTONGHUA_LEVEL;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_REG_TYPE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_SOC_CARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_SOC_TYPE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_SPECIALITY;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_TAB_CARD;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_TAB_CERTIFICATE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_TAB_CONTACTS;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_TAB_EDUCATION;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_TAB_TRAIN;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_TAB_WORK;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_TARGET_POST;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_TYPE;
import static org.jsola.hr.example.CompanyEmpInfoRequireExample.N_WORKING_UNIT_NAME;

/**
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【公司员工所需信息】列表展示对象")
@Data
public class CompanyEmpInfoRequireListVO extends BaseVO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = N_ID, example = E_ID)
    private String id;

    @ApiModelProperty(notes = N_COMPANY_ID, example = E_COMPANY_ID)
    private String companyId;

    @ApiModelProperty(notes = N_TYPE, example = E_TYPE)
    private String type;

    @ApiModelProperty(notes = N_NUMBER, example = E_NUMBER)
    private Integer number;

    @ApiModelProperty(notes = N_NAME, example = E_NAME)
    private Integer name;

    @ApiModelProperty(notes = N_ID_CARD, example = E_ID_CARD)
    private Integer idCard;

    @ApiModelProperty(notes = N_NATION, example = E_NATION)
    private Integer nation;

    @ApiModelProperty(notes = N_BIRTHDAY, example = E_BIRTHDAY)
    private Integer birthday;

    @ApiModelProperty(notes = N_GENDER, example = E_GENDER)
    private Integer gender;

    @ApiModelProperty(notes = N_PHONE, example = E_PHONE)
    private Integer phone;

    @ApiModelProperty(notes = N_EMAIL, example = E_EMAIL)
    private Integer email;

    @ApiModelProperty(notes = N_EMP_PHOTO, example = E_EMP_PHOTO)
    private Integer empPhoto;

    @ApiModelProperty(notes = N_HIGHEST_EDUCATION, example = E_HIGHEST_EDUCATION)
    private Integer highestEducation;

    @ApiModelProperty(notes = N_MARITAL_STATUS, example = E_MARITAL_STATUS)
    private Integer maritalStatus;

    @ApiModelProperty(notes = N_BIRTH_STATUS, example = E_BIRTH_STATUS)
    private Integer birthStatus;

    @ApiModelProperty(notes = N_POLITICAL_STATUS, example = E_POLITICAL_STATUS)
    private Integer politicalStatus;

    @ApiModelProperty(notes = N_PARTY_DATE, example = E_PARTY_DATE)
    private Integer partyDate;

    @ApiModelProperty(notes = N_PARTY_SITE, example = E_PARTY_SITE)
    private Integer partySite;

    @ApiModelProperty(notes = N_BIRTHPLACE, example = E_BIRTHPLACE)
    private Integer birthplace;

    @ApiModelProperty(notes = N_NATIVE_LOCATION, example = E_NATIVE_LOCATION)
    private Integer nativeLocation;

    @ApiModelProperty(notes = N_REG_TYPE, example = E_REG_TYPE)
    private Integer regType;

    @ApiModelProperty(notes = N_CURRENT_LOCATION, example = E_CURRENT_LOCATION)
    private Integer currentLocation;

    @ApiModelProperty(notes = N_EMER_CONTACT, example = E_EMER_CONTACT)
    private Integer emerContact;

    @ApiModelProperty(notes = N_EMER_PHONE, example = E_EMER_PHONE)
    private Integer emerPhone;

    @ApiModelProperty(notes = N_EMER_LOCATION, example = E_EMER_LOCATION)
    private Integer emerLocation;

    @ApiModelProperty(notes = N_BANK_CARD, example = E_BANK_CARD)
    private Integer bankCard;

    @ApiModelProperty(notes = N_BANK_NAME, example = E_BANK_NAME)
    private Integer bankName;

    @ApiModelProperty(notes = N_BANK_PLACE, example = E_BANK_PLACE)
    private Integer bankPlace;

    @ApiModelProperty(notes = N_SOC_TYPE, example = E_SOC_TYPE)
    private Integer socType;

    @ApiModelProperty(notes = N_SOC_CARD, example = E_SOC_CARD)
    private Integer socCard;

    @ApiModelProperty(notes = N_HEALTH_CONDITION, example = E_HEALTH_CONDITION)
    private Integer healthCondition;

    @ApiModelProperty(notes = N_HAS_WEIGHTY_MEDICAL_HIS, example = E_HAS_WEIGHTY_MEDICAL_HIS)
    private Integer hasWeightyMedicalHis;

    @ApiModelProperty(notes = N_JOB_TITLE, example = E_JOB_TITLE)
    private Integer jobTitle;

    @ApiModelProperty(notes = N_JOIN_WORK_DATE, example = E_JOIN_WORK_DATE)
    private Integer joinWorkDate;

    @ApiModelProperty(notes = N_WORKING_UNIT_NAME, example = E_WORKING_UNIT_NAME)
    private Integer workingUnitName;

    @ApiModelProperty(notes = N_PUTONGHUA_LEVEL, example = E_PUTONGHUA_LEVEL)
    private Integer putonghuaLevel;

    @ApiModelProperty(notes = N_SPECIALITY, example = E_SPECIALITY)
    private Integer speciality;

    @ApiModelProperty(notes = N_PRIZE_WINNING, example = E_PRIZE_WINNING)
    private Integer prizeWinning;

    @ApiModelProperty(notes = N_ENGLISH_LEVEL, example = E_ENGLISH_LEVEL)
    private Integer englishLevel;

    @ApiModelProperty(notes = N_NCRE_LEVEL, example = E_NCRE_LEVEL)
    private Integer ncreLevel;

    @ApiModelProperty(notes = N_TARGET_POST, example = E_TARGET_POST)
    private Integer targetPost;

    @ApiModelProperty(notes = N_TAB_CONTACTS, example = E_TAB_CONTACTS)
    private Integer tabContacts;

    @ApiModelProperty(notes = N_TAB_WORK, example = E_TAB_WORK)
    private Integer tabWork;

    @ApiModelProperty(notes = N_TAB_EDUCATION, example = E_TAB_EDUCATION)
    private Integer tabEducation;

    @ApiModelProperty(notes = N_TAB_CARD, example = E_TAB_CARD)
    private Integer tabCard;

    @ApiModelProperty(notes = N_TAB_TRAIN, example = E_TAB_TRAIN)
    private Integer tabTrain;

    @ApiModelProperty(notes = N_TAB_CERTIFICATE, example = E_TAB_CERTIFICATE)
    private Integer tabCertificate;

    @ApiModelProperty(notes = N_ANNEX_ID_CARD, example = E_ANNEX_ID_CARD)
    private Integer annexIdCard;

    @ApiModelProperty(notes = N_ANNEX_HOUSEHOLD, example = E_ANNEX_HOUSEHOLD)
    private Integer annexHousehold;

    @ApiModelProperty(notes = N_ANNEX_DIPLOMA, example = E_ANNEX_DIPLOMA)
    private Integer annexDiploma;

    @ApiModelProperty(notes = N_ANNEX_DEGREE, example = E_ANNEX_DEGREE)
    private Integer annexDegree;

    @ApiModelProperty(notes = N_ANNEX_PRACTISING, example = E_ANNEX_PRACTISING)
    private Integer annexPractising;

    @ApiModelProperty(notes = N_ANNEX_MAJOR, example = E_ANNEX_MAJOR)
    private Integer annexMajor;

    @ApiModelProperty(notes = N_ANNEX_REWARD, example = E_ANNEX_REWARD)
    private Integer annexReward;

    @ApiModelProperty(notes = N_ANNEX_NO_CRIMINAL, example = E_ANNEX_NO_CRIMINAL)
    private Integer annexNoCriminal;

    @ApiModelProperty(notes = N_ANNEX_BLACK_WHITE_PHOTO, example = E_ANNEX_BLACK_WHITE_PHOTO)
    private Integer annexBlackWhitePhoto;

    @ApiModelProperty(notes = N_ANNEX_PTH_LEVEL, example = E_ANNEX_PTH_LEVEL)
    private Integer annexPthLevel;

    @ApiModelProperty(notes = N_ANNEX_ENGLISH_LEVEL, example = E_ANNEX_ENGLISH_LEVEL)
    private Integer annexEnglishLevel;

    @ApiModelProperty(notes = N_ANNEX_NCRE_LEVEL, example = E_ANNEX_NCRE_LEVEL)
    private Integer annexNcreLevel;

    @ApiModelProperty(notes = N_ANNEX_DRIVING_LICENSE, example = E_ANNEX_DRIVING_LICENSE)
    private Integer annexDrivingLicense;



}

